[INFO] fetching crate bitcoin 0.30.2...
[INFO] checking bitcoin-0.30.2 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate bitcoin 0.30.2 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate bitcoin 0.30.2 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bitcoin 0.30.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate bitcoin 0.30.2
[INFO] tweaked toml for crates.io crate bitcoin 0.30.2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate crates.io crate bitcoin 0.30.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hex_lit v0.1.1
[INFO] [stderr]   Downloaded serde_test v1.0.176
[INFO] [stderr]   Downloaded secp256k1 v0.27.0
[INFO] [stderr]   Downloaded bitcoin-private v0.1.0
[INFO] [stderr]   Downloaded core2 v0.3.3
[INFO] [stderr]   Downloaded bitcoin_hashes v0.12.0
[INFO] [stderr]   Downloaded bitcoinconsensus v0.20.2-0.5.0
[INFO] [stderr]   Downloaded secp256k1-sys v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b68a324c7981f432f6ef297bc284adaf7c7ab6215bc51ca7ebddcf451eabc867
[INFO] running `Command { std: "docker" "start" "-a" "b68a324c7981f432f6ef297bc284adaf7c7ab6215bc51ca7ebddcf451eabc867", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b68a324c7981f432f6ef297bc284adaf7c7ab6215bc51ca7ebddcf451eabc867", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b68a324c7981f432f6ef297bc284adaf7c7ab6215bc51ca7ebddcf451eabc867", kill_on_drop: false }`
[INFO] [stdout] b68a324c7981f432f6ef297bc284adaf7c7ab6215bc51ca7ebddcf451eabc867
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 218c29c763299a72891b06d29878425edc3246b58910a94e544c48d45619c163
[INFO] running `Command { std: "docker" "start" "-a" "218c29c763299a72891b06d29878425edc3246b58910a94e544c48d45619c163", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling bitcoin-private v0.1.0
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling bitcoin v0.30.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking bitcoin_hashes v0.12.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling secp256k1-sys v0.8.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]     Checking secp256k1 v0.27.0
[INFO] [stdout] warning: unused imports: `KeyPair`, `Parity`, `Secp256k1`, `Verification`, `XOnlyPublicKey`, `constants`
[INFO] [stdout]   --> src/crypto/taproot.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use secp256k1::{self, constants, Secp256k1, KeyPair, XOnlyPublicKey, Verification, Parity};
[INFO] [stdout]    |                           ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/network/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw: No such file or directory (os error 2)
[INFO] [stdout]    --> src/network/message.rs:541:41
[INFO] [stdout]     |
[INFO] [stdout] 541 | ...ialize(&include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw")[..]).unw...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/../tests/data/blockfilters.json: No such file or directory (os error 2)
[INFO] [stdout]    --> src/bip158.rs:570:20
[INFO] [stdout]     |
[INFO] [stdout] 570 |         let data = include_str!("../tests/data/blockfilters.json");
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/blockdata/../../tests/data/huge_witness.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/blockdata/transaction.rs:1765:42
[INFO] [stdout]      |
[INFO] [stdout] 1765 |         deserialize::<Transaction>(&hex!(include_str!("../../tests/data/huge_witness.hex").trim())).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/blockdata/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw: No such file or directory (os error 2)
[INFO] [stdout]    --> src/blockdata/block.rs:490:28
[INFO] [stdout]     |
[INFO] [stdout] 490 | ...block = include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw").to_vec();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/merkle_tree/../../tests/data/merkle_block.hex: No such file or directory (os error 2)
[INFO] [stdout]    --> src/merkle_tree/block.rs:664:22
[INFO] [stdout]     |
[INFO] [stdout] 664 |         let mb_hex = include_str!("../../tests/data/merkle_block.hex");
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/merkle_tree/../../tests/data/block_13b8a.hex: No such file or directory (os error 2)
[INFO] [stdout]    --> src/merkle_tree/block.rs:756:25
[INFO] [stdout]     |
[INFO] [stdout] 756 |         let block_hex = include_str!("../../tests/data/block_13b8a.hex");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/merkle_tree/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw: No such file or directory (os error 2)
[INFO] [stdout]    --> src/merkle_tree/mod.rs:121:28
[INFO] [stdout]     |
[INFO] [stdout] 121 | ...block = include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt1.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1591:35
[INFO] [stdout]      |
[INFO] [stdout] 1591 |         let mut psbt1 = hex_psbt!(include_str!("../../tests/data/psbt1.hex")).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt2.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1592:31
[INFO] [stdout]      |
[INFO] [stdout] 1592 |         let psbt2 = hex_psbt!(include_str!("../../tests/data/psbt2.hex")).unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt2.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1593:39
[INFO] [stdout]      |
[INFO] [stdout] 1593 |         let psbt_combined = hex_psbt!(include_str!("../../tests/data/psbt2.hex")).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt1.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1601:35
[INFO] [stdout]      |
[INFO] [stdout] 1601 |         let mut psbt1 = hex_psbt!(include_str!("../../tests/data/psbt1.hex")).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt2.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1602:35
[INFO] [stdout]      |
[INFO] [stdout] 1602 |         let mut psbt2 = hex_psbt!(include_str!("../../tests/data/psbt2.hex")).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/../tests/data/bip341_tests.json: No such file or directory (os error 2)
[INFO] [stdout]     --> src/taproot.rs:1998:24
[INFO] [stdout]      |
[INFO] [stdout] 1998 |         let json_str = include_str!("../tests/data/bip341_tests.json");
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyPair`, `Parity`, `Secp256k1`, `Verification`, `XOnlyPublicKey`, `constants`
[INFO] [stdout]   --> src/crypto/taproot.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use secp256k1::{self, constants, Secp256k1, KeyPair, XOnlyPublicKey, Verification, Parity};
[INFO] [stdout]    |                           ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitcoin` (lib test) due to 14 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "218c29c763299a72891b06d29878425edc3246b58910a94e544c48d45619c163", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "218c29c763299a72891b06d29878425edc3246b58910a94e544c48d45619c163", kill_on_drop: false }`
[INFO] [stdout] 218c29c763299a72891b06d29878425edc3246b58910a94e544c48d45619c163
[INFO] checking bitcoin-0.30.2 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate bitcoin 0.30.2 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate bitcoin 0.30.2 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bitcoin 0.30.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate bitcoin 0.30.2
[INFO] tweaked toml for crates.io crate bitcoin 0.30.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate crates.io crate bitcoin 0.30.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 39a9711a89a7c6c9a9449420c8e6b85e05e741ab03b4ee870ea2e4dc72a21647
[INFO] running `Command { std: "docker" "start" "-a" "39a9711a89a7c6c9a9449420c8e6b85e05e741ab03b4ee870ea2e4dc72a21647", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39a9711a89a7c6c9a9449420c8e6b85e05e741ab03b4ee870ea2e4dc72a21647", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39a9711a89a7c6c9a9449420c8e6b85e05e741ab03b4ee870ea2e4dc72a21647", kill_on_drop: false }`
[INFO] [stdout] 39a9711a89a7c6c9a9449420c8e6b85e05e741ab03b4ee870ea2e4dc72a21647
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca00cca5d9ccff1b581fdc778f7b3bd79d6e7770950615fca67ae9e0cb580145
[INFO] running `Command { std: "docker" "start" "-a" "ca00cca5d9ccff1b581fdc778f7b3bd79d6e7770950615fca67ae9e0cb580145", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling bitcoin-private v0.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]    Compiling bitcoin v0.30.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> build.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let version = &stdout[version_prefix.len()..];
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bitcoin_hashes v0.12.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling secp256k1-sys v0.8.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]     Checking secp256k1 v0.27.0
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/address.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if addr[0..3] == ONION {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/address.rs:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if addr[0..3] == ONION {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/address.rs:194:25
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 if addr[0..6] == [0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF] {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/message.rs:392:18
[INFO] [stdout]     |
[INFO] [stdout] 392 |         for _ in 0..len {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:447:43
[INFO] [stdout]     |
[INFO] [stdout] 447 |             let bytes = script.as_bytes()[3..23].try_into().expect("statically 20B long");
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:450:43
[INFO] [stdout]     |
[INFO] [stdout] 450 |             let bytes = script.as_bytes()[2..22].try_into().expect("statically 20B long");
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:455:53
[INFO] [stdout]     |
[INFO] [stdout] 455 |             let witness_program = script.as_bytes()[2..].to_vec();
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:479:36
[INFO] [stdout]     |
[INFO] [stdout] 479 |                 &script.as_bytes()[3..23] == <PubkeyHash as AsRef<[u8; 20]>>::as_ref(hash),
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:481:36
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 &script.as_bytes()[2..22] == <ScriptHash as AsRef<[u8; 20]>>::as_ref(hash),
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:483:36
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 &script.as_bytes()[2..] == prog.program.as_bytes(),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:585:26
[INFO] [stdout]     |
[INFO] [stdout] 585 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:591:26
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1153:85
[INFO] [stdout]      |
[INFO] [stdout] 1153 |                 (Network::Bitcoin, Payload::PubkeyHash(PubkeyHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1155:85
[INFO] [stdout]      |
[INFO] [stdout] 1155 |                 (Network::Bitcoin, Payload::ScriptHash(ScriptHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1157:85
[INFO] [stdout]      |
[INFO] [stdout] 1157 |                 (Network::Testnet, Payload::PubkeyHash(PubkeyHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1159:85
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 (Network::Testnet, Payload::ScriptHash(ScriptHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/amount.rs:252:16
[INFO] [stdout]     |
[INFO] [stdout] 252 |         s = &s[1..];
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/amount.rs:271:20
[INFO] [stdout]     |
[INFO] [stdout] 271 |             s = &s[0..s.len() - last_n];
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/amount.rs:309:14
[INFO] [stdout]     |
[INFO] [stdout] 309 |     for _ in 0..scale_factor {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/amount.rs:326:20
[INFO] [stdout]     |
[INFO] [stdout] 326 |     Ok((&s[..i], s[j..].parse()?))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/amount.rs:381:14
[INFO] [stdout]     |
[INFO] [stdout] 381 |     for _ in 0..count {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/base58.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let data_check = ret[check_start..].try_into().expect("4 byte slice");
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:118:53
[INFO] [stdout]     |
[INFO] [stdout] 118 |     encode_iter(data.iter().cloned().chain(checksum[0..4].iter().cloned()))
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:134:52
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let iter = data.iter().cloned().chain(checksum[0..4].iter().cloned());
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:177:14
[INFO] [stdout]     |
[INFO] [stdout] 177 |     for _ in 0..leading_zero_count {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:210:20
[INFO] [stdout]     |
[INFO] [stdout] 210 |         self.stack[0..self.len].iter().chain(self.heap.iter())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:215:20
[INFO] [stdout]     |
[INFO] [stdout] 215 |         self.stack[0..self.len].iter_mut().chain(self.heap.iter_mut())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |             u64::from_le_bytes(h[0..8].try_into().expect("8 byte slice")),
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:116:34
[INFO] [stdout]     |
[INFO] [stdout] 116 |             u64::from_le_bytes(h[8..16].try_into().expect("8 byte slice")),
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:128:36
[INFO] [stdout]     |
[INFO] [stdout] 128 |         id.0.copy_from_slice(&hash[0..6]);
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bip152.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 prefill = &prefill[1..];
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:302:26
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 for _ in 0..nb_indexes {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         header_data[0..32].copy_from_slice(&self[..]);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         header_data[32..64].copy_from_slice(&previous_filter_header[..]);
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:174:55
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let k0 = u64::from_le_bytes(block_hash_as_int[0..8].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:175:55
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let k1 = u64::from_le_bytes(block_hash_as_int[8..16].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:229:55
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let k0 = u64::from_le_bytes(block_hash_as_int[0..8].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let k1 = u64::from_le_bytes(block_hash_as_int[8..16].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/bip32.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |         hmac[32..].try_into().expect("half of hmac is guaranteed to be 32 bytes")
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 inp[0..inp.len() - 1].parse().map_err(|_| Error::InvalidChildNumberFormat)?,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:613:31
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let network = if data[0..4] == [0x04u8, 0x88, 0xAD, 0xE4] {
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:615:24
[INFO] [stdout]     |
[INFO] [stdout] 615 |         } else if data[0..4] == [0x04u8, 0x35, 0x83, 0x94] {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:619:39
[INFO] [stdout]     |
[INFO] [stdout] 619 |             ver.copy_from_slice(&data[0..4]);
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:626:38
[INFO] [stdout]     |
[INFO] [stdout] 626 |             parent_fingerprint: data[5..9]
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:629:51
[INFO] [stdout]     |
[INFO] [stdout] 629 |             child_number: u32::from_be_bytes(data[9..13].try_into().expect("4 byte slice")).into(),
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:630:30
[INFO] [stdout]     |
[INFO] [stdout] 630 |             chain_code: data[13..45]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:633:65
[INFO] [stdout]     |
[INFO] [stdout] 633 |             private_key: secp256k1::SecretKey::from_slice(&data[46..78])?,
[INFO] [stdout]     |                                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:640:13
[INFO] [stdout]     |
[INFO] [stdout] 640 |         ret[0..4].copy_from_slice(
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         ret[9..13].copy_from_slice(&u32::from(self.child_number).to_be_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:649:13
[INFO] [stdout]     |
[INFO] [stdout] 649 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:651:13
[INFO] [stdout]     |
[INFO] [stdout] 651 |         ret[46..78].copy_from_slice(&self.private_key[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:662:31
[INFO] [stdout]     |
[INFO] [stdout] 662 |         self.identifier(secp)[0..4].try_into().expect("4 is the fingerprint length")
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:752:30
[INFO] [stdout]     |
[INFO] [stdout] 752 |             network: if data[0..4] == [0x04u8, 0x88, 0xB2, 0x1E] {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:754:28
[INFO] [stdout]     |
[INFO] [stdout] 754 |             } else if data[0..4] == [0x04u8, 0x35, 0x87, 0xCF] {
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:758:43
[INFO] [stdout]     |
[INFO] [stdout] 758 |                 ver.copy_from_slice(&data[0..4]);
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:762:38
[INFO] [stdout]     |
[INFO] [stdout] 762 |             parent_fingerprint: data[5..9]
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:765:51
[INFO] [stdout]     |
[INFO] [stdout] 765 |             child_number: u32::from_be_bytes(data[9..13].try_into().expect("4 byte slice")).into(),
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:766:30
[INFO] [stdout]     |
[INFO] [stdout] 766 |             chain_code: data[13..45]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:769:64
[INFO] [stdout]     |
[INFO] [stdout] 769 |             public_key: secp256k1::PublicKey::from_slice(&data[45..78])?,
[INFO] [stdout]     |                                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 776 |         ret[0..4].copy_from_slice(
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:783:13
[INFO] [stdout]     |
[INFO] [stdout] 783 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:784:13
[INFO] [stdout]     |
[INFO] [stdout] 784 |         ret[9..13].copy_from_slice(&u32::from(self.child_number).to_be_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:785:13
[INFO] [stdout]     |
[INFO] [stdout] 785 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:786:13
[INFO] [stdout]     |
[INFO] [stdout] 786 |         ret[45..78].copy_from_slice(&self.public_key.serialize()[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:799:27
[INFO] [stdout]     |
[INFO] [stdout] 799 |         self.identifier()[0..4].try_into().expect("4 is the fingerprint length")
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 Some(&self.0[1..66])
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:237:30
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 Some(&self.0[1..34])
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:251:14
[INFO] [stdout]     |
[INFO] [stdout] 251 |         if !(4..=42).contains(&script_len) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |             Some(self.0[2..].try_into().expect("is_v0_p2wpkh checks the length"))
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/blockdata/script/builder.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |         if data == -1 || (1..=16).contains(&data) {
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/transaction.rs:180:33
[INFO] [stdout]     |
[INFO] [stdout] 180 |             vout: parse_vout(&s[colon+1..])?,
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/block.rs:248:87
[INFO] [stdout]     |
[INFO] [stdout] 248 |             .rposition(|o| o.script_pubkey.len () >= 38 && o.script_pubkey.as_bytes()[0..6] ==  MAGIC)
[INFO] [stdout]     |                                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/block.rs:250:107
[INFO] [stdout]     |
[INFO] [stdout] 250 |             let commitment = WitnessCommitment::from_slice(&coinbase.output[pos].script_pubkey.as_bytes()[6..38]).unwrap();
[INFO] [stdout]     |                                                                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/blockdata/witness.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 |             for i in 0..witness_elements {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:107:57
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     .consensus_encode(&mut &mut content[cursor..cursor + element_size_varint_len])?;
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:109:43
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 r.read_exact(&mut content[cursor..cursor + element_size])?;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 |     bytes[start..end].copy_from_slice(&u32::to_ne_bytes(value.try_into().expect("Larger than u32")));
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:140:39
[INFO] [stdout]     |
[INFO] [stdout] 140 |         Some(u32::from_ne_bytes(bytes[start..end].try_into().expect("is u32 size")) as usize)
[INFO] [stdout]     |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:193:53
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 .consensus_encode(&mut &mut content[cursor..cursor + elem_len_varint.len()])
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |             content[cursor..cursor + elem.as_ref().len()].copy_from_slice(elem.as_ref());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:261:22
[INFO] [stdout]     |
[INFO] [stdout] 261 |         self.content[previous_content_end..].rotate_right(new_item_total_len);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:267:54
[INFO] [stdout]     |
[INFO] [stdout] 267 |             .consensus_encode(&mut &mut self.content[previous_content_end..end_varint])
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:269:22
[INFO] [stdout]     |
[INFO] [stdout] 269 |         self.content[end_varint..end_varint + new_element.len()].copy_from_slice(new_element);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:284:66
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let varint = VarInt::consensus_decode(&mut &self.content[index..]).ok()?;
[INFO] [stdout]     |                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:286:28
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Some(&self.content[start..start + varint.0 as usize])
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:358:64
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let varint = VarInt::consensus_decode(&mut &self.inner[index..]).ok()?;
[INFO] [stdout]     |                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:361:33
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let slice = &self.inner[start..end];
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 | impl_vec!(BlockHash);
[INFO] [stdout]     | -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 592 | impl_vec!(FilterHash);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 | impl_vec!(FilterHeader);
[INFO] [stdout]     | ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 | impl_vec!(TxMerkleNode);
[INFO] [stdout]     | ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 | impl_vec!(Transaction);
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 | impl_vec!(TxOut);
[INFO] [stdout]     | ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 597 | impl_vec!(TxIn);
[INFO] [stdout]     | --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 | impl_vec!(Vec<u8>);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 | impl_vec!(u64);
[INFO] [stdout]     | -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 600 | impl_vec!(TapLeafHash);
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 601 | impl_vec!(VarInt);
[INFO] [stdout]     | ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 | impl_vec!(ShortId);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 | impl_vec!(PrefilledTransaction);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 605 | #[cfg(feature = "std")] impl_vec!(Inventory);
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 | #[cfg(feature = "std")] impl_vec!((u32, Address));
[INFO] [stdout]     |                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 | #[cfg(feature = "std")] impl_vec!(AddrV2Message);
[INFO] [stdout]     |                         ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:636:31
[INFO] [stdout]     |
[INFO] [stdout] 636 |         d.read_slice(&mut ret[chunk_start..chunk_end])?;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:154:38
[INFO] [stdout]     |
[INFO] [stdout] 154 |         reader.read_exact(&mut bytes[0..1])?;
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:157:38
[INFO] [stdout]     |
[INFO] [stdout] 157 |         reader.read_exact(&mut bytes[1..])?;
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:235:44
[INFO] [stdout]     |
[INFO] [stdout] 235 |             res[..].copy_from_slice(&bytes[1..33]);
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:241:49
[INFO] [stdout]     |
[INFO] [stdout] 241 |             res_left[..].copy_from_slice(&bytes[1..33]);
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:242:50
[INFO] [stdout]     |
[INFO] [stdout] 242 |             res_right[..].copy_from_slice(&bytes[33..65]);
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         ret[1..33].copy_from_slice(&self.inner[..]);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:406:59
[INFO] [stdout]     |
[INFO] [stdout] 406 |             inner: secp256k1::SecretKey::from_slice(&data[1..33])?,
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyPair`, `Parity`, `Secp256k1`, `Verification`, `XOnlyPublicKey`, `constants`
[INFO] [stdout]   --> src/crypto/taproot.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use secp256k1::{self, constants, Secp256k1, KeyPair, XOnlyPublicKey, Verification, Parity};
[INFO] [stdout]    |                           ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/merkle_tree/block.rs:437:18
[INFO] [stdout]     |
[INFO] [stdout] 437 |         for p in 0..self.bits.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/merkle_tree/mod.rs:98:16
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for idx in 0..((hashes.len() + 1) / 2) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/merkle_tree/mod.rs:108:31
[INFO] [stdout]     |
[INFO] [stdout] 108 |     merkle_root_r(&mut hashes[0..half_len])
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         out[16..].copy_from_slice(&self.1.to_be_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 |         out[16..].copy_from_slice(&self.0.to_le_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pow.rs:531:18
[INFO] [stdout]     |
[INFO] [stdout] 531 |         for i in 0..3 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:659:43
[INFO] [stdout]     |
[INFO] [stdout] 659 |         let s = core::str::from_utf8(&buf[i..]).expect("digits 0-9 are valid UTF8");
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:903:28
[INFO] [stdout]     |
[INFO] [stdout] 903 |     low.copy_from_slice(&a[16..]);
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/psbt/raw.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |         for _ in 0..key_byte_size {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/raw.rs:196:52
[INFO] [stdout]     |
[INFO] [stdout] 196 |             Ok(n) => result.extend_from_slice(&buf[0..n]),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/psbt/serialize.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |         if bytes.get(0..MAGIC_BYTES.len()) != Some(MAGIC_BYTES) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/psbt/serialize.rs:88:31
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut d = bytes.get(5..).ok_or(Error::NoMorePairs)?;
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/psbt/serialize.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 |             for _ in 0..inputs_len {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:110:22
[INFO] [stdout]     |
[INFO] [stdout] 110 |             for _ in 0..outputs_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:234:41
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let fprint: Fingerprint = bytes[0..4].try_into().expect("4 is the fingerprint length");
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:237:28
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut d = &bytes[4..];
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:328:62
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let b: TapLeafHash = Deserialize::deserialize(&bytes[32..])?;
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:383:56
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let key_source = KeySource::deserialize(&bytes[consumed..])?;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:178:98
[INFO] [stdout]     |
[INFO] [stdout] 178 |                         (derivation1.len() < derivation2.len() && derivation1[..] == derivation2[derivation2.len() - derivation1.len()..])
[INFO] [stdout]     |                                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:182:60
[INFO] [stdout]     |
[INFO] [stdout] 182 |                     else if derivation2[..] == derivation1[derivation1.len() - derivation2.len()..]
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout] 237 |         for i in 0..self.inputs.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/sign_message.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |             serialized[1..].copy_from_slice(&raw[..]);
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/sign_message.rs:127:70
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 signature: RecoverableSignature::from_compact(&bytes[1..], recid)?,
[INFO] [stdout]     |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/taproot.rs:570:33
[INFO] [stdout]     |
[INFO] [stdout] 570 |             self.branch.extend((0..num_extra_nodes).map(|_| None));
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/taproot.rs:1239:63
[INFO] [stdout]      |
[INFO] [stdout] 1239 |         let internal_key = UntweakedPublicKey::from_slice(&sl[1..TAPROOT_CONTROL_BASE_SIZE])
[INFO] [stdout]      |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/taproot.rs:1241:61
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         let merkle_branch = TaprootMerkleBranch::decode(&sl[TAPROOT_CONTROL_BASE_SIZE..])?;
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/mod.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if &haystack[i..(i + needle.len())] == needle {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/mod.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 for j in i..top {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/network/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw: No such file or directory (os error 2)
[INFO] [stdout]    --> src/network/message.rs:541:41
[INFO] [stdout]     |
[INFO] [stdout] 541 | ...ialize(&include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw")[..]).unw...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/../tests/data/blockfilters.json: No such file or directory (os error 2)
[INFO] [stdout]    --> src/bip158.rs:570:20
[INFO] [stdout]     |
[INFO] [stdout] 570 |         let data = include_str!("../tests/data/blockfilters.json");
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/blockdata/../../tests/data/huge_witness.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/blockdata/transaction.rs:1765:42
[INFO] [stdout]      |
[INFO] [stdout] 1765 |         deserialize::<Transaction>(&hex!(include_str!("../../tests/data/huge_witness.hex").trim())).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/blockdata/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw: No such file or directory (os error 2)
[INFO] [stdout]    --> src/blockdata/block.rs:490:28
[INFO] [stdout]     |
[INFO] [stdout] 490 | ...block = include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw").to_vec();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/merkle_tree/../../tests/data/merkle_block.hex: No such file or directory (os error 2)
[INFO] [stdout]    --> src/merkle_tree/block.rs:664:22
[INFO] [stdout]     |
[INFO] [stdout] 664 |         let mb_hex = include_str!("../../tests/data/merkle_block.hex");
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/merkle_tree/../../tests/data/block_13b8a.hex: No such file or directory (os error 2)
[INFO] [stdout]    --> src/merkle_tree/block.rs:756:25
[INFO] [stdout]     |
[INFO] [stdout] 756 |         let block_hex = include_str!("../../tests/data/block_13b8a.hex");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/merkle_tree/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw: No such file or directory (os error 2)
[INFO] [stdout]    --> src/merkle_tree/mod.rs:121:28
[INFO] [stdout]     |
[INFO] [stdout] 121 | ...block = include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt1.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1591:35
[INFO] [stdout]      |
[INFO] [stdout] 1591 |         let mut psbt1 = hex_psbt!(include_str!("../../tests/data/psbt1.hex")).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt2.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1592:31
[INFO] [stdout]      |
[INFO] [stdout] 1592 |         let psbt2 = hex_psbt!(include_str!("../../tests/data/psbt2.hex")).unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt2.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1593:39
[INFO] [stdout]      |
[INFO] [stdout] 1593 |         let psbt_combined = hex_psbt!(include_str!("../../tests/data/psbt2.hex")).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt1.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1601:35
[INFO] [stdout]      |
[INFO] [stdout] 1601 |         let mut psbt1 = hex_psbt!(include_str!("../../tests/data/psbt1.hex")).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/psbt/../../tests/data/psbt2.hex: No such file or directory (os error 2)
[INFO] [stdout]     --> src/psbt/mod.rs:1602:35
[INFO] [stdout]      |
[INFO] [stdout] 1602 |         let mut psbt2 = hex_psbt!(include_str!("../../tests/data/psbt2.hex")).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read src/../tests/data/bip341_tests.json: No such file or directory (os error 2)
[INFO] [stdout]     --> src/taproot.rs:1998:24
[INFO] [stdout]      |
[INFO] [stdout] 1998 |         let json_str = include_str!("../tests/data/bip341_tests.json");
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/address.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if addr[0..3] == ONION {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/address.rs:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if addr[0..3] == ONION {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/address.rs:194:25
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 if addr[0..6] == [0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF] {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/message.rs:392:18
[INFO] [stdout]     |
[INFO] [stdout] 392 |         for _ in 0..len {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:447:43
[INFO] [stdout]     |
[INFO] [stdout] 447 |             let bytes = script.as_bytes()[3..23].try_into().expect("statically 20B long");
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:450:43
[INFO] [stdout]     |
[INFO] [stdout] 450 |             let bytes = script.as_bytes()[2..22].try_into().expect("statically 20B long");
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:455:53
[INFO] [stdout]     |
[INFO] [stdout] 455 |             let witness_program = script.as_bytes()[2..].to_vec();
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:479:36
[INFO] [stdout]     |
[INFO] [stdout] 479 |                 &script.as_bytes()[3..23] == <PubkeyHash as AsRef<[u8; 20]>>::as_ref(hash),
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/address.rs:481:36
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 &script.as_bytes()[2..22] == <ScriptHash as AsRef<[u8; 20]>>::as_ref(hash),
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:483:36
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 &script.as_bytes()[2..] == prog.program.as_bytes(),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:585:26
[INFO] [stdout]     |
[INFO] [stdout] 585 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/address.rs:591:26
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1153:85
[INFO] [stdout]      |
[INFO] [stdout] 1153 |                 (Network::Bitcoin, Payload::PubkeyHash(PubkeyHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1155:85
[INFO] [stdout]      |
[INFO] [stdout] 1155 |                 (Network::Bitcoin, Payload::ScriptHash(ScriptHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1157:85
[INFO] [stdout]      |
[INFO] [stdout] 1157 |                 (Network::Testnet, Payload::PubkeyHash(PubkeyHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/address.rs:1159:85
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 (Network::Testnet, Payload::ScriptHash(ScriptHash::from_slice(&data[1..]).unwrap())),
[INFO] [stdout]      |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/address.rs:1576:31
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         let segwit_payload = (0..=16)
[INFO] [stdout]      |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/amount.rs:252:16
[INFO] [stdout]     |
[INFO] [stdout] 252 |         s = &s[1..];
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/amount.rs:271:20
[INFO] [stdout]     |
[INFO] [stdout] 271 |             s = &s[0..s.len() - last_n];
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/amount.rs:309:14
[INFO] [stdout]     |
[INFO] [stdout] 309 |     for _ in 0..scale_factor {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/amount.rs:326:20
[INFO] [stdout]     |
[INFO] [stdout] 326 |     Ok((&s[..i], s[j..].parse()?))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/amount.rs:381:14
[INFO] [stdout]     |
[INFO] [stdout] 381 |     for _ in 0..count {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/base58.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let data_check = ret[check_start..].try_into().expect("4 byte slice");
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:118:53
[INFO] [stdout]     |
[INFO] [stdout] 118 |     encode_iter(data.iter().cloned().chain(checksum[0..4].iter().cloned()))
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:134:52
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let iter = data.iter().cloned().chain(checksum[0..4].iter().cloned());
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:177:14
[INFO] [stdout]     |
[INFO] [stdout] 177 |     for _ in 0..leading_zero_count {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:210:20
[INFO] [stdout]     |
[INFO] [stdout] 210 |         self.stack[0..self.len].iter().chain(self.heap.iter())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/base58.rs:215:20
[INFO] [stdout]     |
[INFO] [stdout] 215 |         self.stack[0..self.len].iter_mut().chain(self.heap.iter_mut())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |             u64::from_le_bytes(h[0..8].try_into().expect("8 byte slice")),
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:116:34
[INFO] [stdout]     |
[INFO] [stdout] 116 |             u64::from_le_bytes(h[8..16].try_into().expect("8 byte slice")),
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:128:36
[INFO] [stdout]     |
[INFO] [stdout] 128 |         id.0.copy_from_slice(&hash[0..6]);
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bip152.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 prefill = &prefill[1..];
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip152.rs:302:26
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 for _ in 0..nb_indexes {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         header_data[0..32].copy_from_slice(&self[..]);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         header_data[32..64].copy_from_slice(&previous_filter_header[..]);
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:174:55
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let k0 = u64::from_le_bytes(block_hash_as_int[0..8].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:175:55
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let k1 = u64::from_le_bytes(block_hash_as_int[8..16].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:229:55
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let k0 = u64::from_le_bytes(block_hash_as_int[0..8].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip158.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let k1 = u64::from_le_bytes(block_hash_as_int[8..16].try_into().expect("8 byte slice"));
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/bip32.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |         hmac[32..].try_into().expect("half of hmac is guaranteed to be 32 bytes")
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 inp[0..inp.len() - 1].parse().map_err(|_| Error::InvalidChildNumberFormat)?,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:613:31
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let network = if data[0..4] == [0x04u8, 0x88, 0xAD, 0xE4] {
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:615:24
[INFO] [stdout]     |
[INFO] [stdout] 615 |         } else if data[0..4] == [0x04u8, 0x35, 0x83, 0x94] {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:619:39
[INFO] [stdout]     |
[INFO] [stdout] 619 |             ver.copy_from_slice(&data[0..4]);
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:626:38
[INFO] [stdout]     |
[INFO] [stdout] 626 |             parent_fingerprint: data[5..9]
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:629:51
[INFO] [stdout]     |
[INFO] [stdout] 629 |             child_number: u32::from_be_bytes(data[9..13].try_into().expect("4 byte slice")).into(),
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:630:30
[INFO] [stdout]     |
[INFO] [stdout] 630 |             chain_code: data[13..45]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:633:65
[INFO] [stdout]     |
[INFO] [stdout] 633 |             private_key: secp256k1::SecretKey::from_slice(&data[46..78])?,
[INFO] [stdout]     |                                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:640:13
[INFO] [stdout]     |
[INFO] [stdout] 640 |         ret[0..4].copy_from_slice(
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         ret[9..13].copy_from_slice(&u32::from(self.child_number).to_be_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:649:13
[INFO] [stdout]     |
[INFO] [stdout] 649 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:651:13
[INFO] [stdout]     |
[INFO] [stdout] 651 |         ret[46..78].copy_from_slice(&self.private_key[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:662:31
[INFO] [stdout]     |
[INFO] [stdout] 662 |         self.identifier(secp)[0..4].try_into().expect("4 is the fingerprint length")
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:752:30
[INFO] [stdout]     |
[INFO] [stdout] 752 |             network: if data[0..4] == [0x04u8, 0x88, 0xB2, 0x1E] {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:754:28
[INFO] [stdout]     |
[INFO] [stdout] 754 |             } else if data[0..4] == [0x04u8, 0x35, 0x87, 0xCF] {
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:758:43
[INFO] [stdout]     |
[INFO] [stdout] 758 |                 ver.copy_from_slice(&data[0..4]);
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:762:38
[INFO] [stdout]     |
[INFO] [stdout] 762 |             parent_fingerprint: data[5..9]
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:765:51
[INFO] [stdout]     |
[INFO] [stdout] 765 |             child_number: u32::from_be_bytes(data[9..13].try_into().expect("4 byte slice")).into(),
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:766:30
[INFO] [stdout]     |
[INFO] [stdout] 766 |             chain_code: data[13..45]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:769:64
[INFO] [stdout]     |
[INFO] [stdout] 769 |             public_key: secp256k1::PublicKey::from_slice(&data[45..78])?,
[INFO] [stdout]     |                                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 776 |         ret[0..4].copy_from_slice(
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:783:13
[INFO] [stdout]     |
[INFO] [stdout] 783 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:784:13
[INFO] [stdout]     |
[INFO] [stdout] 784 |         ret[9..13].copy_from_slice(&u32::from(self.child_number).to_be_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:785:13
[INFO] [stdout]     |
[INFO] [stdout] 785 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:786:13
[INFO] [stdout]     |
[INFO] [stdout] 786 |         ret[45..78].copy_from_slice(&self.public_key.serialize()[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bip32.rs:799:27
[INFO] [stdout]     |
[INFO] [stdout] 799 |         self.identifier()[0..4].try_into().expect("4 is the fingerprint length")
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 Some(&self.0[1..66])
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:237:30
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 Some(&self.0[1..34])
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:251:14
[INFO] [stdout]     |
[INFO] [stdout] 251 |         if !(4..=42).contains(&script_len) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |             Some(self.0[2..].try_into().expect("is_v0_p2wpkh checks the length"))
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/blockdata/script/builder.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |         if data == -1 || (1..=16).contains(&data) {
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/blockdata/script/tests.rs:38:44
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let key = PublicKey::from_str(&KEYSTR1[2..]).unwrap();
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/blockdata/script/tests.rs:41:44
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let key = PublicKey::from_str(&KEYSTR2[2..]).unwrap();
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script/tests.rs:190:55
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let x_only_key = XOnlyPublicKey::from_str(&KEYSTR[2..]).unwrap();
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/transaction.rs:180:33
[INFO] [stdout]     |
[INFO] [stdout] 180 |             vout: parse_vout(&s[colon+1..])?,
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/block.rs:248:87
[INFO] [stdout]     |
[INFO] [stdout] 248 |             .rposition(|o| o.script_pubkey.len () >= 38 && o.script_pubkey.as_bytes()[0..6] ==  MAGIC)
[INFO] [stdout]     |                                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/block.rs:250:107
[INFO] [stdout]     |
[INFO] [stdout] 250 |             let commitment = WitnessCommitment::from_slice(&coinbase.output[pos].script_pubkey.as_bytes()[6..38]).unwrap();
[INFO] [stdout]     |                                                                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/block.rs:569:18
[INFO] [stdout]     |
[INFO] [stdout] 569 |         for i in 0..31 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/blockdata/witness.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 |             for i in 0..witness_elements {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:107:57
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     .consensus_encode(&mut &mut content[cursor..cursor + element_size_varint_len])?;
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:109:43
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 r.read_exact(&mut content[cursor..cursor + element_size])?;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 |     bytes[start..end].copy_from_slice(&u32::to_ne_bytes(value.try_into().expect("Larger than u32")));
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:140:39
[INFO] [stdout]     |
[INFO] [stdout] 140 |         Some(u32::from_ne_bytes(bytes[start..end].try_into().expect("is u32 size")) as usize)
[INFO] [stdout]     |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:193:53
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 .consensus_encode(&mut &mut content[cursor..cursor + elem_len_varint.len()])
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |             content[cursor..cursor + elem.as_ref().len()].copy_from_slice(elem.as_ref());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:261:22
[INFO] [stdout]     |
[INFO] [stdout] 261 |         self.content[previous_content_end..].rotate_right(new_item_total_len);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:267:54
[INFO] [stdout]     |
[INFO] [stdout] 267 |             .consensus_encode(&mut &mut self.content[previous_content_end..end_varint])
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:269:22
[INFO] [stdout]     |
[INFO] [stdout] 269 |         self.content[end_varint..end_varint + new_element.len()].copy_from_slice(new_element);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:284:66
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let varint = VarInt::consensus_decode(&mut &self.content[index..]).ok()?;
[INFO] [stdout]     |                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:286:28
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Some(&self.content[start..start + varint.0 as usize])
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:358:64
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let varint = VarInt::consensus_decode(&mut &self.inner[index..]).ok()?;
[INFO] [stdout]     |                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:361:33
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let slice = &self.inner[start..end];
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:564:18
[INFO] [stdout]     |
[INFO] [stdout] 564 |         for i in 0..5 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:569:19
[INFO] [stdout]     |
[INFO] [stdout] 569 |         for i in (0..=5).rev() {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:597:56
[INFO] [stdout]     |
[INFO] [stdout] 597 |             content: append_u32_vec(witness_serialized[1..].to_vec(), &[0, 34]),
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:632:56
[INFO] [stdout]     |
[INFO] [stdout] 632 |             content: append_u32_vec(witness_serialized[1..].to_vec(), &[0, 5]),
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/witness.rs:637:62
[INFO] [stdout]     |
[INFO] [stdout] 637 |             content: append_u32_vec(witness_serialized_annex[1..].to_vec(), &[0, 5, 7]),
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 | impl_vec!(BlockHash);
[INFO] [stdout]     | -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 592 | impl_vec!(FilterHash);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 | impl_vec!(FilterHeader);
[INFO] [stdout]     | ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 | impl_vec!(TxMerkleNode);
[INFO] [stdout]     | ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 | impl_vec!(Transaction);
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 | impl_vec!(TxOut);
[INFO] [stdout]     | ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 597 | impl_vec!(TxIn);
[INFO] [stdout]     | --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 | impl_vec!(Vec<u8>);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 | impl_vec!(u64);
[INFO] [stdout]     | -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 600 | impl_vec!(TapLeafHash);
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 601 | impl_vec!(VarInt);
[INFO] [stdout]     | ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 | impl_vec!(ShortId);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 | impl_vec!(PrefilledTransaction);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 605 | #[cfg(feature = "std")] impl_vec!(Inventory);
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 | #[cfg(feature = "std")] impl_vec!((u32, Address));
[INFO] [stdout]     |                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:583:26
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 | #[cfg(feature = "std")] impl_vec!(AddrV2Message);
[INFO] [stdout]     |                         ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:636:31
[INFO] [stdout]     |
[INFO] [stdout] 636 |         d.read_slice(&mut ret[chunk_start..chunk_end])?;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:897:15
[INFO] [stdout]     |
[INFO] [stdout] 897 |         input[1..x.len()+1].copy_from_slice(x);
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/consensus/encode.rs:1127:31
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         let data : Vec<u8> = (0..10).collect();
[INFO] [stdout]      |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/consensus/encode.rs:1129:27
[INFO] [stdout]      |
[INFO] [stdout] 1129 |         for chunk_size in 1..20 {
[INFO] [stdout]      |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:154:38
[INFO] [stdout]     |
[INFO] [stdout] 154 |         reader.read_exact(&mut bytes[0..1])?;
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:157:38
[INFO] [stdout]     |
[INFO] [stdout] 157 |         reader.read_exact(&mut bytes[1..])?;
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:235:44
[INFO] [stdout]     |
[INFO] [stdout] 235 |             res[..].copy_from_slice(&bytes[1..33]);
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:241:49
[INFO] [stdout]     |
[INFO] [stdout] 241 |             res_left[..].copy_from_slice(&bytes[1..33]);
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:242:50
[INFO] [stdout]     |
[INFO] [stdout] 242 |             res_right[..].copy_from_slice(&bytes[33..65]);
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         ret[1..33].copy_from_slice(&self.inner[..]);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:406:59
[INFO] [stdout]     |
[INFO] [stdout] 406 |             inner: secp256k1::SecretKey::from_slice(&data[1..33])?,
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:897:29
[INFO] [stdout]     |
[INFO] [stdout] 897 |         let keys: Vec<_> = (0..N_KEYS).map(|i| random_key(i as u8)).collect();
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto/key.rs:906:18
[INFO] [stdout]     |
[INFO] [stdout] 906 |         for _ in 0..N_KEYS {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyPair`, `Parity`, `Secp256k1`, `Verification`, `XOnlyPublicKey`, `constants`
[INFO] [stdout]   --> src/crypto/taproot.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use secp256k1::{self, constants, Secp256k1, KeyPair, XOnlyPublicKey, Verification, Parity};
[INFO] [stdout]    |                           ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/merkle_tree/block.rs:437:18
[INFO] [stdout]     |
[INFO] [stdout] 437 |         for p in 0..self.bits.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/merkle_tree/mod.rs:98:16
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for idx in 0..((hashes.len() + 1) / 2) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/merkle_tree/mod.rs:108:31
[INFO] [stdout]     |
[INFO] [stdout] 108 |     merkle_root_r(&mut hashes[0..half_len])
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         out[16..].copy_from_slice(&self.1.to_be_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 |         out[16..].copy_from_slice(&self.0.to_le_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pow.rs:531:18
[INFO] [stdout]     |
[INFO] [stdout] 531 |         for i in 0..3 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:659:43
[INFO] [stdout]     |
[INFO] [stdout] 659 |         let s = core::str::from_utf8(&buf[i..]).expect("digits 0-9 are valid UTF8");
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pow.rs:903:28
[INFO] [stdout]     |
[INFO] [stdout] 903 |     low.copy_from_slice(&a[16..]);
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/pow.rs:1111:13
[INFO] [stdout]      |
[INFO] [stdout] 1111 |         out[16..].copy_from_slice(&WANT.1.to_be_bytes());
[INFO] [stdout]      |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/pow.rs:1120:13
[INFO] [stdout]      |
[INFO] [stdout] 1120 |         out[16..].copy_from_slice(&WANT.0.to_le_bytes());
[INFO] [stdout]      |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/psbt/raw.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |         for _ in 0..key_byte_size {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/raw.rs:196:52
[INFO] [stdout]     |
[INFO] [stdout] 196 |             Ok(n) => result.extend_from_slice(&buf[0..n]),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/psbt/serialize.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |         if bytes.get(0..MAGIC_BYTES.len()) != Some(MAGIC_BYTES) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/psbt/serialize.rs:88:31
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut d = bytes.get(5..).ok_or(Error::NoMorePairs)?;
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/psbt/serialize.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 |             for _ in 0..inputs_len {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:110:22
[INFO] [stdout]     |
[INFO] [stdout] 110 |             for _ in 0..outputs_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:234:41
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let fprint: Fingerprint = bytes[0..4].try_into().expect("4 is the fingerprint length");
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:237:28
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut d = &bytes[4..];
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:328:62
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let b: TapLeafHash = Deserialize::deserialize(&bytes[32..])?;
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/serialize.rs:383:56
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let key_source = KeySource::deserialize(&bytes[consumed..])?;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:178:98
[INFO] [stdout]     |
[INFO] [stdout] 178 |                         (derivation1.len() < derivation2.len() && derivation1[..] == derivation2[derivation2.len() - derivation1.len()..])
[INFO] [stdout]     |                                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:182:60
[INFO] [stdout]     |
[INFO] [stdout] 182 |                     else if derivation2[..] == derivation1[derivation1.len() - derivation2.len()..]
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout] 237 |         for i in 0..self.inputs.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/sign_message.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |             serialized[1..].copy_from_slice(&raw[..]);
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/sign_message.rs:127:70
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 signature: RecoverableSignature::from_compact(&bytes[1..], recid)?,
[INFO] [stdout]     |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/taproot.rs:570:33
[INFO] [stdout]     |
[INFO] [stdout] 570 |             self.branch.extend((0..num_extra_nodes).map(|_| None));
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/taproot.rs:1239:63
[INFO] [stdout]      |
[INFO] [stdout] 1239 |         let internal_key = UntweakedPublicKey::from_slice(&sl[1..TAPROOT_CONTROL_BASE_SIZE])
[INFO] [stdout]      |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/taproot.rs:1241:61
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         let merkle_branch = TaprootMerkleBranch::decode(&sl[TAPROOT_CONTROL_BASE_SIZE..])?;
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/taproot.rs:1685:60
[INFO] [stdout]      |
[INFO] [stdout] 1685 |         let out_pk = XOnlyPublicKey::from_str(&out_spk_hex[4..]).unwrap();
[INFO] [stdout]      |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/mod.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if &haystack[i..(i + needle.len())] == needle {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/mod.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 for j in i..top {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:516:17
[INFO] [stdout]     |
[INFO] [stdout] 516 | delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:516:17
[INFO] [stdout]     |
[INFO] [stdout] 516 | delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:516:31
[INFO] [stdout]     |
[INFO] [stdout] 516 | delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:516:31
[INFO] [stdout]     |
[INFO] [stdout] 516 | delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:516:76
[INFO] [stdout]     |
[INFO] [stdout] 516 | delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/blockdata/script/borrowed.rs:516:76
[INFO] [stdout]     |
[INFO] [stdout] 516 | delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/blockdata/script/push_bytes.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |     delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/blockdata/script/push_bytes.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |     delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/blockdata/script/push_bytes.rs:101:35
[INFO] [stdout]     |
[INFO] [stdout] 101 |     delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/blockdata/script/push_bytes.rs:101:35
[INFO] [stdout]     |
[INFO] [stdout] 101 |     delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/blockdata/script/push_bytes.rs:101:80
[INFO] [stdout]     |
[INFO] [stdout] 101 |     delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/blockdata/script/push_bytes.rs:101:80
[INFO] [stdout]     |
[INFO] [stdout] 101 |     delegate_index!(Range<usize>, RangeFrom<usize>, RangeTo<usize>, RangeFull, RangeInclusive<usize>, RangeToInclusive<usize>);
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors; 141 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitcoin` (lib) due to 13 previous errors; 141 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 13 previous errors; 159 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitcoin` (lib test) due to 14 previous errors; 159 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ca00cca5d9ccff1b581fdc778f7b3bd79d6e7770950615fca67ae9e0cb580145", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca00cca5d9ccff1b581fdc778f7b3bd79d6e7770950615fca67ae9e0cb580145", kill_on_drop: false }`
[INFO] [stdout] ca00cca5d9ccff1b581fdc778f7b3bd79d6e7770950615fca67ae9e0cb580145
